package com.bt.lms.ui.page.common;

import com.bt.lms.ui.page.common.action.pagefirst.HelpCentreAction;
import com.bt.lms.ui.page.common.action.pagefirst.OneselfMesAction;
import com.bt.lms.ui.page.common.action.pagefirst.WaitDisposeLabAction;
import com.bt.lms.ui.vo.PageSkipInfo;
import com.bt.lms.ui.page.first.EventReminder;
import com.bt.lms.main.BotLmsApp;
import com.bt.lms.ui.page.sys.style.BoxStyle;
import javafx.collections.ObservableList;
import javafx.geometry.Insets;
import javafx.scene.Cursor;
import javafx.scene.Node;
import javafx.scene.control.Accordion;
import javafx.scene.control.Label;
import javafx.scene.control.TitledPane;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;

/**
 * 首页界面
 */
public class PageFirst extends HBox {


    /**
     * 构建招生界面
     */
    public PageFirst() {

        //布局
        Insets insets = new Insets(10);
        this.setPadding(insets);
        this.setSpacing(10);
        this.setPrefWidth(1480);

        //索引部分
        VBox indexesVBox = new VBox();
        indexesVBox.setPrefHeight(BotLmsApp.HEIGHT);
        indexesVBox.setPrefWidth(PageCommon.TWO_WIGHT);
        indexesVBoxInit(indexesVBox);
        this.getChildren().add(indexesVBox);
        //背景色
        BoxStyle.mainBackdrop(indexesVBox);

        //界面跳转数据构建
        PageSkipInfo pageSkipInfo = new PageSkipInfo();
        pageSkipInfo.setPane(this);
        pageSkipInfo.setIndex(1);

        EventReminder eventReminder = new EventReminder(pageSkipInfo);
        this.getChildren().add(eventReminder);

    }

    /**
     * 索引部分初始化
     * @param menuVBox 菜单盒子
     */
    private void indexesVBoxInit(VBox menuVBox) {

        //组件（选项所在容器）
        VBox firstVBox = new VBox();
        //容器初始化
        firstVBoxInit(firstVBox);
        //背景色
        BoxStyle.mainBackdrop(firstVBox);

        //菜单组件（手风琴）
        TitledPane titledPane = new TitledPane("首页", firstVBox);
        titledPane.setExpanded(true);//默认展开
        titledPane.setAnimated(false);//展开动画禁止

        Accordion accordion = new Accordion();
        accordion.setExpandedPane(titledPane);
        accordion.getPanes().add(titledPane);

        //添加组件
        ObservableList<Node> children = menuVBox.getChildren();
        children.addAll(accordion);
    }

    /**
     * 系统管理选项初始化
     * @param sysVBox 系统选项盒子
     */
    private void firstVBoxInit(VBox sysVBox) {

        //组件数据组件统一默认高
        int height = 40;
        //界面跳转对象
        PageSkipInfo pageSkipInfo = new PageSkipInfo();
        pageSkipInfo.setPane(this);
        pageSkipInfo.setIndex(1);

        //布局
        sysVBox.setSpacing(2);

        //组件（代办事项提醒）
        Label waitDisposeLab = new Label("代办事项提醒");
        waitDisposeLab.setPrefHeight(height);
        //组件添加
        sysVBox.getChildren().add(waitDisposeLab);
        //事件
        WaitDisposeLabAction waitDisposeLabAction = new WaitDisposeLabAction(pageSkipInfo);
        waitDisposeLab.setOnMouseClicked(waitDisposeLabAction);
        //小手图案
        waitDisposeLab.setCursor(Cursor.HAND);

        //组件（帮助中心）
        Label helpCentre = new Label("帮助中心");
        helpCentre.setPrefHeight(height);
        //组件添加
        sysVBox.getChildren().add(helpCentre);
        //事件
        HelpCentreAction helpCentreAction = new HelpCentreAction(pageSkipInfo);
        helpCentre.setOnMouseClicked(helpCentreAction);
        //小手图案
        helpCentre.setCursor(Cursor.HAND);

        //组件（个人信息中心）
        Label oneselfMes = new Label("个人信息中心");
        oneselfMes.setPrefHeight(height);
        //组件添加
        sysVBox.getChildren().add(oneselfMes);
        //事件
        OneselfMesAction oneselfMesAction = new OneselfMesAction(pageSkipInfo);
        oneselfMes.setOnMouseClicked(oneselfMesAction);
        //小手图案
        oneselfMes.setCursor(Cursor.HAND);

    }
}
